158 Update Ruby-Sass due to EOL announcement#202
Merged
jonrandahl merged 20 commits intodevfrom Jan 13, 2026
Merged
Conversation
- Ignores .DS_Store files to prevent unnecessary tracking of Mac OS system files. - Generalises .env exclusion to cover all variations, except the development one, for better secrets management.
- Improves readability and maintainability of the Makefile. - Introduces help target for displaying available make targets and environment variables. - Enhances asset compilation process. - Simplifies authentication setup. - Clarifies target dependencies and descriptions.
- Reformats the Rails startup log message to cleanup previous whitespace - Only appends `server.server_url` if provided - Renames variables for better understanding
- Moves commented-out local gem paths to development group
- Prioritises loading dependencies (libraries, gems, engines) before custom application code to prevent dependency issues. - Ensures custom application code loads last to guarantee all dependencies are available. - Retains `require_tree .` at the end to avoid loading order conflicts.
- Removes the `sass-rails` gem. - Addresses end-of-life status of Ruby Sass.
- Updates gems in the Gemfile to address end-of-life (EOL) status and incorporate newer versions. - Replaces deprecated gems with actively maintained alternatives. - Introduces Bootstrap 5 and related dependencies for improved front-end styling. - Includes dotenv gem to manage environment variables for different environments. - Adds dartsass-sprockets for handling Sass compilation. - Sorts the Gemfile alphabetically for improved readability. Relates to #158
- Configures Autoprefixer to generate source maps. This assists in debugging CSS by mapping compiled CSS back to the original Sass files. - Registers a custom Autoprefixer processor within the Rails asset pipeline. This ensures that the source maps are correctly generated during asset compilation. - Adapts to different Sprockets versions, using either `register_bundle_processor` or `register_postprocessor` based on the Sprockets version, ensuring compatibility across different Rails versions.
- Configures sass to improve development debugging and production performance. - Prevents sass deprecation warnings from cluttering logs. - Enables sass source maps in development to simplify debugging css issues. - Compresses sass output in production to reduce file sizes. - Clarifies the purpose of the API_SERVICE_URL environment variable.
- Reduces the number of required Rails frameworks to only those in use. - Specifies default group for bundler to ensure environment-specific gems are loaded correctly. - Improves application boot time by reducing unnecessary dependencies.
Applies Bootstrap grid system to improve responsiveness: - Wraps partial renders in rows and columns for better layout control - Improves the structure of error pages and landing pages - Ensures consistent presentation across different screen sizes
- Updates the asset pipeline configuration to manage favicon assets. - This ensures favicons are correctly served and referenced within the application.
- Adds Bootstrap and Popper.js to the application's JavaScript manifest. - Supports the upgrade of Ruby Sass due to end-of-life by providing necessary front-end dependencies for Bootstrap. specific to #158
- Suppresses Sass `@import` deprecation warnings. - Aids migration to modern `@use` and `@forward` syntax by quieting noisy deprecation messages. - Prevents these warnings from cluttering the console during development.
- Introduces new stylesheet files for landing pages and qonsole components. - Refactors application.scss to import required stylesheets, addressing end-of-life concerns for ruby-sass. - Modifies an error page to improve layout using bootstrap grid classes. Refs #158
- Updates ruby sass dependencies due to end-of-life. - Removes explicit `bootstrap` gem to align with `lr_common_styles` dependency. - Updates `faraday` and related gems to the latest versions.
- Adds an `update` task to the Makefile. - Allows interactive review and update of dependencies. - Checks for outdated Ruby gems using `bundle outdated`. - Checks for outdated JavaScript dependencies using `yarn upgrade-interactive` if `yarn` is installed. - Can be ported to all projects to aide in dependency update tasks
- Created a TODO markdown file to reflect completed and pending tasks Related specifically to #158
- Documents migration from `sass-rails` to `DartSass` for continued CSS support. - Documents addition of Bootstrap framework dependencies for enhanced styling. - Documents updates to asset pipeline configuration for performance improvements. - Documents enabling Autoprefixer source maps for better CSS debugging. - Documents streamlining of Rails framework loading configuration. - Documents updates to Sass configuration for compatibility with new toolchain. Ref #158
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Modernised asset pipeline and CSS tooling by migrating from deprecated
sass-railsgem to Dart Sass viadartsass-sprockets, whilst integrating Bootstrap framework dependencies for enhanced styling capabilities and improved maintainability.Specific to ticket #158
Changes
sass-railsgem todartsass-sprockets(Dart Sass) for long-term CSS compilation supportbootstrap-sassin favour of Bootstrap framework dependencies for enhanced styling capabilities and maintainabilityAutoprefixersource maps for better CSS debugging in developmentBreaking Changes
None
Checklist
Testing
Unit tests added/updatedBuild & Assets
Process & Quality
Documentation updated